package com.lu.pojo.container;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

/**
 * @author luzhenfang
 * @date   2020 06 28
 * @description  collection  ArrayList
 *  - 优点 随机存取快
 *  - 缺点 插入 删除 慢
 */
public class TestArrayList {

    public static void main(String[] args) {
        ArrayList<String> strings = new ArrayList<>();
        List<String> strings1 = new ArrayList<>();


        // 添加元素
        strings.add("J");
        strings.add("A");
        strings.add("V");
        strings.add("A");

        // 查看集合
        System.out.println(strings.toString());

        // 删除元素
        strings.remove("A");
        System.out.println(strings.toString());
        strings.remove("A");
        System.out.println(strings.toString());

        // 指定位置添加
        strings.add(1,"A");
        strings.add(3,"A");
        System.out.println(strings.toString());

        // 集合长度
        System.out.println("ArrayList(length):"+strings.size());

        // 集合指定下标元素
        System.out.println("ArrayList[2]="+strings.get(1));

        // 删除指定集合
        ArrayList<String> temp = new ArrayList<>();
        temp.add("J");
        strings.removeAll(temp);
        System.out.println(strings.toString());

        // 清空集合
        strings.clear();
        System.out.println("ArrayList(length):"+strings.size());

        // 是否为空
        System.out.println(strings.isEmpty());

        // 迭代器
        strings.add("Hello");
        strings.add("world");
        Iterator<String> iterator = strings.iterator();
        while (iterator.hasNext()){
            System.out.print(" "+iterator.next());
        }
    }
}
